package com.yami.shop.nft.common.dao;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yami.shop.common.util.PageParam;
import com.yami.shop.nft.common.model.NftApply;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface NftApplyMapper extends BaseMapper<NftApply> {
    /**
     * 查询铸币申请(包含铸币、附件)信息
     *
     * @param nftApplyId 铸币申请id
     * @param chainUp    true:只查询上链成功的币 false: 全部
     * @return
     */
    NftApply getNftApplyInfo(@Param("nftApplyId") Long nftApplyId, @Param("chainUp") Boolean chainUp);

    /**
     * 查询铸币申请(包含附件)信息
     *
     * @param nftApplyId 铸币申请id
     * @return
     */
    NftApply getNftApplyAndImgInfo(@Param("nftApplyId") Long nftApplyId);

    /**
     * 获取铸币申请列表
     *
     * @return 铸币申请列表
     */
    List<NftApply> getNftApplyList();
    /**
     * 分页获取铸币申请列表
     *
     * @return 铸币申请列表
     */
    IPage<NftApply> getNftApplyPage(@Param("page") PageParam<NftApply> page,@Param("nftApply") NftApply nftApply);

    NftApply getNftApplyAndImgInfoByDenomId(@Param("denomId") String denomId);

    NftApply getNftApplyAndImgInfoByDenomIdAndStatus(@Param("denomId") String denomId);
}